package com.ayic.garbagerecycle.service;

import com.ayic.garbagerecycle.pojo.*;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

public interface StationService {
    List<Station> queryList(int offset, int pageSize);

    int getTotalCount(); // 获取总记录数

    Station getStationById(Integer stationId);

    Result updateCurrentCapacity(Integer stationId);

    Result getStationAnalysis(String username);
    /**
     * 获取所有站点的唯一区域列表
     * @return 包含唯一区域的字符串列表
     */
    List<String> getUniqueAreas();

    /**
     * 根据区域列表查询匹配的站点
     * @param areas 区域名称列表
     * @return 区域名称到匹配站点列表的映射
     */
    Map<String, List<StationInfoLite>> getStationsByAreas(List<String> areas);

    List<AnalysisData> select30DayGroupedSumsByStationIds(List<Integer> ids);

    List<AnalysisData> select30DayGroupedSumsByStationId(Integer stationId);

    /**
     * 获取用户负责的容量超过80%的站点列表
     * @param username 用户名
     * @return 高容量站点列表
     */
    List<Station> getHighCapacityStationsByUser(String username);
}
